﻿#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdlib.h>
#include<stdio.h>
//int main()
//{
//	printf("输入打印的行数\n");
//	int n = 0;
//	scanf("%d", &n);
//	int** pp = (int**)malloc(n * sizeof(int*));
//	pp[0] = (int*)malloc(1 * sizeof(int));
//	pp[0][0] = 1;
//	for (int i = 1; i < n; i++)
//	{
//		pp[i] = (int*)malloc((i + 1) * sizeof(int));
//		pp[i][0] = 1;
//		int* tmp = pp[i - 1];
//		for (int j = 1; j < i; j++)
//		{
//			pp[i][j] = pp[i - 1][j] + pp[i - 1][j - 1];
//		}
//		pp[i][i] = 1;
//	}
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j < i + 1; j++)
//		{
//			printf("%d ", pp[i][j]);
//		}
//		printf("\n");
//	}
//	return 0;
//}
//1、编写一个程序，求一个整型数组中存储的最大数值
//int Max(int* arr, int n)
//{
//	int max = arr[0];
//	for (int i = 1; i < n; i++)
//	{
//		if (arr[i] > max)
//		{
//			max = arr[i];
//		}
//	}
//	return max;
//}
//int main()
//{
//	int arr[10] = { 0 };
//	int n = sizeof(arr) / sizeof(arr[0]);
//	for (int i = 0; i < n; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	int ret =Max(arr, n);
//	printf("%d", ret);
//	return 0;
//}
//2.编写一个程序，求一个double类型数组中存储的最大数值的下标。
//int max(double* arr, int n)
//{
//	int pos = 0;
//	for (int i = 1; i < n; i++)
//	{
//		if (arr[i] > arr[pos])
//		{
//			pos = i;
//		}
//	}
//	return pos;
//}
//int main()
//{
//	double arr[10] = { 0 };
//	int n = sizeof(arr) / sizeof(arr[0]);
//	for (int i = 0; i < n; i++)
//	{
//		scanf("%lf", &arr[i]);
//	}
//	int pos = max(arr, n);
//	printf("%d", pos);
//	return 0;
//}
//3、编写一个程序，计算一个整型数组中最大的和最小的数之间的差值。
//int Differ(int* arr, int n)
//{
//	int max = arr[0];
//	int min = arr[0];
//	for (int i = 1; i < n; i++)
//	{
//		if (arr[i] > max)
//		{
//			max = arr[i];
//		}
//		if (arr[i] < min)
//		{
//			min = arr[i];
//		}
//	}
//	return max - min;
//}
//int main()
//{
//	int arr[10] = { 0 };
//	int n = sizeof(arr) / sizeof(arr[0]);
//	for (int i = 0; i < n; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	int differ = Differ(arr, n);
//	printf("%d", differ);
//	return 0;
//}


//int main()
//{
//	int arr1[10] = { 0 };
//	int arr2[10] = { 0 };
//	int ret[10] = { 0 };
//	for (int i = 0; i < 10; i++)
//	{
//		scanf("%d", &arr1[i]);
//	}
//	for (int i = 0; i < 10; i++)
//	{
//		scanf("%d", &arr2[i]);
//	}
//	for (int i = 0; i < 10; i++)
//	{
//		ret[i] = arr1[i] + arr2[i];
//	}
//	for (int i = 0; i < 10; i++)
//	{
//		printf("%d ", ret[i]);
//	}
//	return 0;
//
//}
//#include<stdbool.h>
//#include<math.h>
//bool isPrime(int num)
//{
//	int flag = 1;
//	if (num == 1)
//	{
//		return false;
//	}
//	for (int i = 2; i <= sqrt(num); i++)
//	{
//		if (num % i == 0)
//		{
//			flag = 0;
//			break;
//		}
//	}
//	return flag == 1;
//}
//int main()
//{
//	int arr[20] = { 0 };
//	for (int i = 0; i < 20; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	int count = 0;
//	for (int i = 0; i < 20; i++)
//	{
//		if (isPrime(arr[i]))
//		{
//			count++;
//		}
//	}
//	printf("%d", count);
//}
//double Aver(double* arr,int sz)
//{
//	double sum = 0;
//	for (int i = 0; i < sz; i++)
//	{
//		sum += arr[i];
//	}
//	return sum / sz;
//}
//int main()
//{
//	double arr[20] = { 0 };
//	for (int i = 0; i < 20; i++)
//	{
//		scanf("%lf", &arr[i]);
//	}
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	double aver = Aver(arr,sz);
//	printf("%lf", aver);
//}

//8、编写程序， 实现矩阵（3行3列）的转置(即行列互换) ，例如， 输入下面的矩阵: 
//100 200 300
//400 500 600
//700 800 900
//程序输出：
//100 400 700
//200 500 800
//300 600 900
//int main()
//{
//	int arr[3][3] = { 0 };
//	for (int i = 0; i < 3; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			scanf("%d", &arr[i][j]);
//		}
//	}
//	int ret[3][3] = { 0 };
//	for (int i = 0; i < 3; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			ret[j][i] = arr[i][j];
//		}
//	}
//	for (int i = 0; i < 3; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			printf("%d ", ret[i][j]);
//		}
//		printf("\n");
//	}
//	return 0;
//}
// 



//double Sum(double A[][3], double B[][3], int row, int col)
//{
//	double sum = 0;
//	for (int i = 0; i < row; i++)
//	{
//		for (int j = 0; j < col; j++)
//		{
//			sum += A[i][j] + B[i][j];
//		}
//	}
//	return sum;
//}
//double Sub(double A[][3], double B[][3], int row, int col)
//{
//	double sub = 0;
//	for (int i = 0; i < row; i++)
//	{
//		for (int j = 0; j < col; j++)
//		{
//			sub += A[i][j] - B[i][j];
//		}
//	}
//	return sub;
//}
//int main()
//{
//	double A[2][3] = { 0 };
//	double B[2][3] = { 0 };
//	for (int i = 0; i < 2; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			scanf("%lf", &A[i][j]);
//		}
//	}
//	for (int i = 0; i < 2; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			scanf("%lf", &B[i][j]);
//		}
//	}
//	int row = 2;
//	int col = 3;
//	double sum = Sum(A, B,row,col);
//	double sub = Sub(A, B,row,col);
//	printf("A+B=%lf,A-B=%lf", sum, sub);
//}

//int main()
//{
//	int arr[3][3] = { 0 };
//	int sum = 0;
//	for (int i = 0; i < 3; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			scanf("%d", &arr[i][j]);
//		}
//	}
//	for (int i = 0; i < 3; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			if (i + j == 2 || i == j)
//			{
//				sum += arr[i][j];
//			}
//		}
//	}
//	printf("%d", sum);
//}
//int main()
//{
//	int a[6] = { 1,2,3,4 };
//	int i, s = 1;
//	int* p = NULL;
//	p = a;
//	for (i = 0; i < 6; i++)
//	{
//		s *= *(p + i);
//	}
//	printf("%d\n", s);
//}
